The increasing use of wide area networks such as the Internet has resulted in the availability of many on-line services. Computer users can access many services by utilizing a wide area network to establish a connection with other computers connected to the network.
The Internet, which represents a distributed computer network, is a worldwide network of computers belonging to various entities such as corporations, institutes of learning, and research organizations. The computers are connected by gateways that handle data transfer and conversion of messages from a sending network to the protocols used by a receiving network. The Internet is a collection of networks and gateways that use the TCP/IP suite of protocols. TCP/IP is an acronym for Transport Control Protocol/Interface Program, a software protocol developed by the Department of Defense for communications between computers.
Typically, the computers connected to a wide area network such as the Internet are identified as either servers or clients. A server is a computer that stores files that are available to other computers connected to the network. A client is a computer connected to the network that accesses shared resources provided by a server. To obtain information from a server, a client makes a request for a file or information located on the server using a specified protocol. Upon reception of a properly formatted request, the server downloads the file to the client.
The world wide web is a specific Internet network using specified Internet protocols. As is well known to those skilled in the art, communications between computers on the world wide web use the HTTP protocol. Files on a web server are identified by a universal resource locator (URL). A URL is a format for describing files on a server and describes both the name of the server and the path to the file on the server. For example, a URL for a web server may be constructed as follows: "http://&lt;server&gt;/&lt;filepath&gt;", where &lt;server&gt; identifies the server on which the file is located and &lt;filepath&gt; identifies the path to the file on the server. By knowing the name of the server and the correct file path to a file, a properly formatted URL can be created to allow a user to access any desired file on a server connected to the world wide web.
In connection with wide area networks such as the Internet, application programs are available for client computers to support specific types of on-line services. For example, there are a number of commercially available application programs that support on-line banking services between financial institutions and their customers. These services may include on-line bill payment capabilities that enable a user to write electronic checks and to send them to a processor for payment. The on-line services may also include on-line banking that enables a user to download account information such as balances, statements, to transfer funds between accounts, and apply for personal and secured loans.
Personal finance application programs allow a user to establish a connection between the user's computer (the client) and a computer at any of a large number of financial institutions that support on-line services. There are many different ways to establish a connection between the user's computer and the financial institution, and each individual financial institution determines the method by which a user may establish a connection. However, not all financial institutions permit these connections or support on-line services. Typical application programs obtain information regarding the identity of the financial institutions that support on-line services as well as the connection method required by each financial institution in various ways, as is discussed further below.
Service providers for establishing connections with financial institutions currently exist, such as Intuit Services Corporation (ISC) and Visa Interactive. These two service providers have their own protocols and a personal finance application program that utilizes one of these service providers must include a driver that allows the application program to connect to and utilize the service provider. A personal finance application program may also include a driver that allows the application program to connect to and utilize another service provider, such as BTX or Minitel. BTX and Minitel are service providers for institutions in Germany and France, respectively.
FIGS. 1A and 1B are block diagrams showing the implementation of on-line banking services using the ISC and Visa Interactive service providers 2 and 3, respectively. An application program 4 connects to a service provider by calling a local node of a wide area network 5 which is connected to the service provider. For example, FIG. 1A shows how the application program 4 connects to the ISC service provider 2 using ISC driver 6 within the application program to access on-line services at various banks connected to the service provider. Similarly, FIG. lB shows how the application program 4 connects to the Visa Interactive service provider 3 using the Visa Interactive driver 7 within the application program. The driver would be loaded by the application program when the application program desires to use the service provider to connect to one of the various banks.
As is well known to those skilled in the art, a driver is a program that communicates with another device to control or regulate the other device. A driver may reside in an application program or operating system to control a particular device, such as a printer, disk drive, or other types of devices. In many cases, a driver may also manipulate the hardware of the system to transmit data to and from a device. The term "driver", as used herein, refers to a program within an application program to control communications with a service provider, a financial institution's computer, and/or other devices and networks to support the use of on-line services.
One problem associated with on-line banking services is that the ISC and Visa Interactive service providers (as well as the BTX and Minitel service providers) each have unique protocols and rules of operation that are determined by the service provider rather than the banks. These protocols and rules may not be desirable to all banks that wish to support on-line services and, therefore, certain banks may decide against utilizing ISC or Visa Interactive as their service providers. In this case, a bank may be required to set up its own method of connection with an application program and may provide its own set of business rules that relate to how on-line banking services are performed.
An application program must have certain information to be able to connect to a financial institution that supports on-line services. Various methods may be used for providing an application program with this information. One method is to store information on product disks that are sold with the application program disks. These product disks are generally loaded onto the user's computer concurrently with the application program. However, the information relating to financial institutions is dynamic and changes often. For example, additional financial institutions may decide to support on-line services and/or change the connection method after the product disks have been shipped. Therefore, the financial institution information on product disks may quickly become out-of-date and inaccurate between the time the information is put on the disks and the time the user wishes to use the information to connect to a financial institution. Additionally, storing financial institution information on product disks and shipping these disks with the application program can result in increased costs and can require the user to devote storage space on the user's computer to store this information. Thus, it is disadvantageous to provide information regarding financial institutions on product disks.
Another method includes storing a single large database file on a server that includes a list of all participating financial institutions and corresponding connection methods associated with each financial institution. Upon request, the entire database file can then be downloaded to the user's computer and searched for information relating to a particular financial institution. However, it will be appreciated that the list of participating financial institutions and each institution's corresponding connection method can form a voluminous database. Because the HTTP protocol used in connection with web servers typically requires the downloading of entire files, this method is inefficient.
Another method includes using a script or other server-side intelligence to search a database file on a server for information regarding a specific financial institution that is of interest. However, this method has the disadvantage of requiring a development effort to create server-side intelligence that does not presently exist.
The large number of financial institutions that support on-line services can make the application program's job of connecting to any one of the institutions quite difficult. Therefore, a need exists for an interface that allows an application program to support the multiple formats that may be used in providing on-line banking services.